import { PageModel } from './common';

class AccountModel {
  public id: string;
  public createAt: number;
  public description: string;
  public name: string;
  public updateAt: number;
  public userName: string;
  public isPublic: boolean;
  public memberState: number;
  public profile: AccountProfileModel;
  public enabled: boolean;
  public open: boolean;
  public loginPanelAnchor:string;
}

class AccountListModel {
  public count: number = 0;
  public items: AccountModel[] = [];
}

class AccountPageModel extends PageModel {
  public data: AccountListModel;
}

class AccountProfileModel {
  public emailHost: string;
  public emailUserName: string;
  public emailPassword: string;
  public emailAddress: string;
  public emailDefaultEncoding: string;
  public logoLink: string;
  public contacts: string;
  public contactNumber: string;
  public country: string;
  public province: string;
  public district: string;
  public city: string;
  public address: string;
  public active: boolean;
  public createAt: string;
  public updateAt: string;
}

class AccountEmailInscribe {
  public accountId: string;
  public createAt: number;
  public id: string;
  public inscribe: string;
  public updateAt: number;
}

class PublicAccountInfoModel {
  public clientId:string;
  public id: string;
  public name: string;
  public loginBackground: string;
  public loginPanelAnchor: string;
}

export {
  AccountModel,
  AccountListModel,
  AccountPageModel,
  AccountProfileModel,
  AccountEmailInscribe,
  PublicAccountInfoModel
};
